<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 <head>

  <title>CSS Test: Percent height inside anonymous block</title>

  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
  <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level" />
  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#containing-block-details" />
  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#the-height-property" />
  <link rel="match" href="anonymous-boxes-001b-ref.xht" />

  <meta content="ahem" name="flags" />
  <meta content="Anonymous block boxes are ignored when resolving percentage values that would refer to it: the closest non-anonymous ancestor box is used instead." name="assert" />

  <style type="text/css"><![CDATA[
  body
  {
  font: 1em/1.25 serif;
  margin: 8px;
  }

  p {margin: 1em 0;}

  strong {line-height: 1;}

  div#overlapped-red
  {
  background-color: red;
  height: 100px;
  left: 8px;
  position: absolute;
  top: 122px;
  /*
    16px : max(body's margin-top, p's margin-top)
  +
    20px : p's 1st line box height
  +
    20px : p's 2nd line box height
  +
    16px : p's margin-bottom
  +
    50px : div#closest-non-anonymous-ancestor line box height
  -----------------------------------------------------------
   122px
  */
  right: 8px;
  z-index: -1;
  }

  div#closest-non-anonymous-ancestor
  {
  color: white;
  font: 2.5em/1.25 Ahem;  /* equivalent to 40px/50px in absolute units */
  height: 200px;
  }

  div#child-of-anonymous-block-box
  {
  background-color: green;
  height: 50%;
  }
  ]]></style>

 </head>

 <body>

  <p>Test passes if there is a filled green<br />
  rectangle across the page and <strong>no red</strong>.</p>

  <div id="overlapped-red"></div>

  <div id="closest-non-anonymous-ancestor">Some <div id="child-of-anonymous-block-box"></div> text
    <p>More text</p>
  </div>

  <!--
  For example, if the child of the anonymous block box inside the DIV
  above needs to know the height of its containing block to resolve a
  percentage height, then it will use the height of the containing
  block formed by the DIV, not of the anonymous block box.
  -->

 </body>
</html>